#pragma once

class nocopyable {
 private:
  nocopyable(const nocopyable&) = delete;
  void operator=(const nocopyable&) = delete;

 protected:
  nocopyable(/* args */) = default;
  ~nocopyable() = default;
};
